home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / src / X11 / cpicker / Cpick.doc < prev    next >
Text File  |  1995-06-22  |  3KB  |  90 lines

  1. /*
  2.  * Cpick.c - Color picker widget for X11 Toolkit
  3.  * 
  4.  * Author:    Mike Yang
  5.  *         Western Research Laboratory
  6.  *         Digital Equipment Corporation
  7.  * Date:    Mon Aug 9 1988
  8.  * Copyright (c) 1988 Mike Yang
  9.  */
  10.  
  11.  
  12. The Cpick color picker widget prompts the user for an RGB color
  13. selection.  The various methods of selection are as follows:
  14.  
  15.    1.    Specify RGB, HSV, or CMY values through the use of sliders (Slide
  16.     widgets)
  17.  
  18.    2.    Choose a color from a palette covering the entire spectrum range
  19.  
  20.    3.    Choose a color from a palette covering a wide range about the
  21.     current color
  22.  
  23.    4.    Choose a color from a palette covering a narrow range about the
  24.     current color
  25.  
  26.    5.    (Not yet implemented) Specify RGB values by entering a hex string
  27.  
  28. The Cpick widget consists of:
  29.  
  30.    1.   nine labeled sliders for the current RGB, HSV, and CMY values,
  31.  
  32.    2.   a box displaying the current color selection,
  33.  
  34.    3.   a label showing the RGB values in hex notation,
  35.  
  36.    4.   a group of color cells from the current palette,
  37.  
  38.    5.   a button for changing the current palette, and
  39.  
  40.    6.   up to five buttons for interaction with the application (by
  41.     default these are "select," "cancel," "restore," "ok," and
  42.     "help."
  43.  
  44. The class variable for the Cpick color picker widget is
  45. cpickWidgetClass.
  46.  
  47. When creating a Cpick widget instance, the following resources are
  48. retrieved from the argument list or from the resource database (in
  49. addition to the common resources):
  50.  
  51. Name        Type        Default        Description
  52.  
  53. XtNselectProc    XtCallBackList    NULL        Callback for select button
  54. XtNokProc    XtCallBackList    NULL        Callback for ok button
  55. XtNchangeProc    XtCallBackList    NULL        Callback for value change
  56. XtNrestoreProc    XtCallBackList    NULL        Callback for restore button
  57. XtNallocated    XColor*        NULL        Allocated cmap cell
  58. XtNcmap        Colormap    NULL        Colormap of allocated cell
  59. XtNselectLabel    char*        "Select"    Label for select button
  60. XtNcancelLabel    char*        "Cancel"    Label for cancel button
  61. XtNrestoreLabel    char*        "Restore"    Label for restore button
  62. XtNokLabel    char*        "OK"        Label for ok button
  63. XtNhelpLabel    char*        "Help"        Label for help button
  64. XtNnearPixels    int        64        Number of cells in palette
  65. XtNuseColors    Boolean        FALSE        Use colors in sliders?
  66.  
  67. To create a Cpick widget instance, use XtCreateWidget and specify the
  68. class variable cpickWidgetClass.
  69.  
  70. It is important that you set XtNallocated to the allocated colormap
  71. cell which the Cpick widget will use to display the current selection.
  72.  
  73. The callback procedures are called with the address of the XColor
  74. structure.  For instance, the callback procedure for the select button
  75. is:
  76.  
  77. void SelectProc (cpick, client_data, allocated)
  78.   Widget cpick;
  79.   caddr_t client_data;
  80.   XColor *allocated;
  81.  
  82. The select, restore, and ok buttons call the appropriate callback
  83. routine.  The cancel button cancels any changes made to the initial
  84. RGB values.  The XtNchangeProc callback is called whenever the RGB
  85. values change.
  86.  
  87. To destroy a Cpick widget instance, use XtDestroyWidget and specify
  88. the widget ID for the Cpick.
  89.  
  90.